package sicav.jpa.persistencia;

import java.util.List;

import sicav.jpa.modelo.Usuario;

;

/**
 * Interaface de Servicio para el cliente
 * 
 * 
 */
public interface UsuarioService {

	// Procesos referentes a clientes de la agencia
	// ---------------------------------------------
	/**
	 * realiza el registro de un cliente
	 * 
	 * @param cliente
	 */
	void registrarCliente(Usuario cliente);

	/**
	 * Consulta un cliente de la agencia
	 * 
	 * @param id
	 * @return
	 */
	Usuario consultarCliente(Long id);

	/**
	 * Actualiza los datos de un cliente
	 * 
	 * @param cliente
	 * @return
	 */
	Usuario actualizarCliente(Usuario cliente);

	/**
	 * Retorna todos los clientes de la agencia
	 * 
	 * @return
	 */
	List<Usuario> clientesAgencia();

	// Procesos referentes a proveedores de la agencia
	// ---------------------------------------------
	/**
	 * Registra un nuevo proveedor de la agencia
	 * 
	 * @param proveedor
	 */
	void registrarProveedor(Usuario proveedor);

	/**
	 * Elimina un proveedor que termino convenion con la empresa
	 * 
	 * @param id
	 */
	void eliminarProveedor(Long id);
	
	/**
	 * Actualiza los datos de un proveedor
	 * @param proveedor
	 * @return
	 */
	Usuario actualizarProveedor(Usuario proveedor);
	
	/**
	 * Actualiza los servicios que el proveedor presta
	 * @param proveedor
	 * @return
	 */
	Usuario actualizarServiciosProveedor(Usuario proveedor);
	
	
	
	
	
	
	
	
	
	
	
	

}
